/**
 * 
 */
package com.shifan.phone.action;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.shifan.phone.common.Message;
import com.shifan.phone.common.Tools;
import com.shifan.phone.model.ShoppingCarModel;
import com.shifan.phone.model.UserModel;
import com.shifan.phone.service.ShoppingCarModelService;

/**
 * 
 * @author TangLei
 * @date 2018年12月15日 下午12:13:23
 * @version 1.0
 */
@Controller
@RequestMapping("/shoppingCar")
public class ShoppingCarModelAction {
	//注入购物车Service接口
	@Resource
	ShoppingCarModelService shoppingCarModelService;
	
	/**
	 * 增加
	 * @param shoppingCar 购物车对象
	 * @return 信息对象
	 */
	@RequestMapping("/save")
	@ResponseBody
	public Message save(ShoppingCarModel shoppingCar,HttpSession session){
		//创建一个信息对象
		Message mes = new Message();
		//得到当前登录用户
		UserModel user = (UserModel) session.getAttribute("login");
		//给用户ID赋值
		shoppingCar.setUserId(user.getUsersId());
		//调用购物车Service 接口的增加的方法
		int rows = shoppingCarModelService.insertSelective(shoppingCar);
		//判断
		if(rows > 0){
			//给message对象赋值
			mes.setState(Tools.STATE_YES);
			mes.setMsg("增加成功!");
		}else {
			//给message对象赋值
			mes.setState(Tools.STATE_NO);
			mes.setMsg("增加失败!");
		}
		//返回
		return mes;
	}
	
	/**
	 * 删除
	 * @param shoppingcarId 购物车ID
	 * @return 信息对象
	 */
	@RequestMapping("/deletes")
	@ResponseBody
	public Message deletes(String shoppingcarId){
		//创建一个message对象
		Message mes = new Message();
		//调用购物车Service接口的删除的方法
		int rows = shoppingCarModelService.deleteByPrimaryKey(shoppingcarId);
		//判断
		if(rows > 0){
			//给message对象赋值
			mes.setState(Tools.STATE_YES);
			mes.setMsg("删除成功!");
		}else {
			//给message对象赋值
			mes.setState(Tools.STATE_NO);
			mes.setMsg("删除失败!");
		}
		//返回
		return mes;
	}
	
	/**
	 * 查询所有
	 * @param session
	 * @return 购物车对象集合
	 */
	@RequestMapping("/findAll")
	@ResponseBody
	public List<ShoppingCarModel> findAll(HttpSession session){
		//得到登录的用户
		UserModel user = (UserModel) session.getAttribute("login");
		//调用购物车Service接口的查询所有的方法
		return shoppingCarModelService.findAll(user.getUsersId());
	}
	
	/**
	 * 修改
	 * @param shoppingCar 购物车对象
	 * @return 信息对象
	 */
	@RequestMapping("/update")
	@ResponseBody
	public Message update(ShoppingCarModel shoppingCar){
		//创建一个Message对象
		Message mes = new Message();
		System.out.println(shoppingCar.getProductNumber()+"--------------------------------->");
		//调用购物车Service接口的修改的方法
		int rows = shoppingCarModelService.updateByPrimaryKeySelective(shoppingCar);
		//判断
		if(rows > 0){
			//给信息对象赋值
			mes.setState(Tools.STATE_YES);
			mes.setMsg("修改成功");
		}else {
			//给信息对象赋值
			mes.setState(Tools.STATE_YES);
			mes.setMsg("修改成功");
		}
		//返回
		return mes;
	}
}
